package com.blog.blog.util.annotations;

import org.redisson.api.RateIntervalUnit;

import java.lang.annotation.*;

@Target({ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RateLimit {
    String key() default "";                 // 限流键（可空，默认使用方法签名 + IP）
    long rate() default 10;                   // 配额
    long interval() default 1;                // 时间窗口
    RateIntervalUnit unit() default RateIntervalUnit.SECONDS; // 时间单位
    boolean byIp() default true;              // 是否按IP细分
}


